iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0

在登入頁面設置了一個忘記密碼的按鈕,在官方文件中就有提到這部分要如何下指令,結合先前頁面的經驗,在跟著文件寫就沒問題啦!!

傳一個emailsendPasswordResetEmail裡面,在按送出鈕後系統會自動寄送一封重置密碼的信件,點擊信件連結就會導到修改密碼的位置。

firebase.auth().sendPasswordResetEmail(email)
  .then(() => {
    // Password reset email sent!
    // ..
  })
  .catch((error) => {
    var errorCode = error.code;
    var errorMessage = error.message;
    // ..
  });

今天唯一的一個小問題是 — 忘記密碼似乎只有一種errorCode ,若不填寫或是填寫到錯誤格式的信箱時,錯誤會顯示auth/missing-email,使用正確格式但沒有註冊過的信箱時,他會成功記送出去,這部分應該要有一個尚未註冊的errorCode才對,目前沒有在這個頁面找到可能的errorCode,網路上寫忘記密碼頁面的很少看到使用errorCode的範例 ,這個問題先擱置,後面再來優化他!

以下是今天的改寫之後的code

function onSubmit(){
    firebase.auth().sendPasswordResetEmail(email)
    .then(() => {
        alert('請至信箱收件重置密碼')
    })
    .catch((error) => {
        var errorCode = error.code;
        console.log(errorCode)
        switch(errorCode){
            case 'auth/missing-email':
                setEmailErrorMessage('請輸入正確信箱');
                break;
        }
    });
}

上一篇
DAY12-登入註冊表單(錯誤提示)
下一篇
DAY14-建立分類(Firestore)
系列文
出遊不怕一個人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言